096928 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

The Quiet Sound of Water

The Quiet Sound of Water

クォータービュー

クォータービュー実装にあたっての覚書:


◇◇◇◇◇◇◇◇◇◇◇:偶数列
◇◇◇◇◇◇◇◇◇◇◇:奇数列
◇◇◇◇◆◇◇◇◇◇◇:偶数列
◇◇◇◇◇◆◇◇◇◇◇:奇数列
◇◇◇◇◇◇◇◇◇◇◇:偶数列
◇◇◇◇◇◇◇◇◇◇◇:奇数列

【移動係数】
方向: 偶数列 / 奇数列 = 計算式
上 : x , y - 2/ x , y - 2 = x , y - 2
右上: x , y - 1/x + 1, y - 1 = x + (y % 2) , y - 1
右 :x + 1, y /x + 1, y = x + 1 , y
右下: x , y + 1/x + 1, y + 1 = x + (y % 2) , y + 1
下 : x , y + 2/ x , y + 2 = x , y + 2
左下:x - 1, y + 1/ x , y + 1 = x + (y % 2) - 1 , y + 1
左 :x - 1, y /x - 1, y = x - 1, y
左上:x - 1, y - 1/ x , y - 1 = x + (y % 2) - 1 , y - 1

【距離計算】
(x,y)と(a,b)の距離=|(x-a)|+|(y-b)|/2(端数切上)

【ビュー範囲】
ビュー(w,h)が11x11だった場合(*ビュー範囲は正方形しかありえない)
left-x = x - (((w - 1) / 2) - (y % 2)) / 2(端数切上)
top-y = y - ((w - 1) / 2)
right-x = x + (((w - 1) / 2) - (y % 2)) / 2(端数切上)
bottom-y = y + ((w - 1) / 2)

ex)
3,8 → 0,3 - 5,13
3,7 → 1,2 - 6,12

【描画座標系への変換】
1マップセル(w,h)を32x24の平行四辺形と仮定した場合:
vx = x * w + (y % 2) * w / 2
vy = y * h / 2



© Rakuten Group, Inc.